The present disclosure relates to hosting telephony applications, and more particularly, to hosting telephony applications in conjunction with web services.
Historically, telephony applications have been built and deployed around completely proprietary platforms and environments. These proprietary platforms lead to high costs in both development and maintenance of such applications due to a lack of standards and portability. Over the past several years, the growth of the World-Wide-Web has gradually been changing the landscape. Industry standards that marry the web with telephony environments have been introduced and telephony platforms implementing those standards have proliferated. However, even such platforms have a number of limitations.
Many of these platforms are distributed in nature, which result in added application development complexity. Most voice application developers build their applications based on software development kit controls, which abstract the underlying distributed model. However, such abstractions can be “leaky,” meaning that features of the underlying model may inadvertently expose information and functional elements of the application. Moreover, the multiplicity of programming models leads to developer confusion.
In some telephony platforms, even web-based ones, developer code must be produced in a non-type-safe language, leading to error-prone code. Additionally, in some instances, the code must be consumed in source form and dynamically compiled as needed. This requires the developers to ship their software in source form, which potentially raises security as well as other issues such as intellectual property protection.
In some instances, the platform or server supports external communication only through form posts (such as HTML/HTTP). As a result, developers produce code to direct any communication between the platform and the web server through input and form elements. This type of communication is counterintuitive to many application developers. Moreover, given the variability of human speech, quantification of communications between the platforms and the web server via form elements may not function appropriately. Moreover, it may be difficult for traditional web servers to handle telephone calls, for example, because it is difficult for such servers to perform effective caching of the HTML across phone calls.
Therefore, there is an ongoing need for improvements in voice applications and Internet services.